package com.turing.post.common.util;

import java.math.BigInteger;
import java.util.List;

import javax.ejb.Local;
import javax.ejb.Remote;

import com.turing.post.util.PCPSApplicationException;

/**
 * 证件类型业务接口
 * 
 * @author zxp
 * @Dec 1, 2012
 */
@Remote
@Local
public interface IdTypeDao {

	/**
	 * 获取证件类型数据编号最大值
	 * 
	 * @return
	 */
	public BigInteger getMaxIdTypeId();

	/**
	 * @根据主键查询证件类型
	 * @return 证件类型
	 */
	public IdType getIdTypeByIdTypeId(BigInteger idTypeId);

	/**
	 * 查询证件类型列表
	 * 
	 * @return 证件类型列表
	 */
	public List<IdType> getIdTypeIdList();

	/**
	 * 根据类别查询证件类型列表
	 * 
	 * @param category
	 *            证件类型类别
	 * 
	 * @return 证件类型列表
	 */
	public List<IdType> getIdTypeIdListByCategory(String category);

	/**
	 * 根据证件类型名称查询证件类型
	 * 
	 * @param idTypeName
	 *            证件类型名称
	 * @return 证件类型
	 */
	public IdType getIdTypeByIdTypeName(String idTypeName);

	/**
	 * 新增证件类型
	 * 
	 * @param idType
	 *            证件类型
	 * @throws PCPSApplicationException
	 */
	public void insertIdType(IdType idType) throws PCPSApplicationException;

	/**
	 * 修改证件类型
	 * 
	 * @param idType
	 *            证件类型
	 * @throws PCPSApplicationException
	 */
	public void updateIdType(IdType idType) throws PCPSApplicationException;
	/**
	 * 根据编号查询证件类型
	 * 
	 * @param idTypeNo
	 *            证件类型编号
	 * @throws PCPSApplicationException
	 */
	public IdType getIdTypeByIdTypeNo(String idTypeNo);
}
